#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include "medecin.h"
                                                               /*SAISIR*/
void saisir_medecin(Medecin *M)
{
printf("donner le nom\n");
scanf("%s",M->nom);
printf("donner le prenom\n");
scanf("%s",M->prenom);
printf("donner le sex\n");
scanf("%s",M->sex);
printf("donner le role\n");
scanf("%s",M->role);
printf("donner le cin\n");
scanf("%ld",&(M->cin));
printf("donner le age\n");
scanf("%d",&(M->age));

}
                                                             /*ENREGISTRER*/
void enregistrer_medecin(char fichier_medecin[],Medecin *M,int *n)
{
FILE*f;
f=fopen(fichier_medecin,"ab");
if(f!=NULL)
{
 if((*n)<MAX)
  {
 saisir_medecin(M);
 fwrite(M,sizeof(Medecin),1,f);
 (*n)++;
  }
}
else
{
printf("erreur lors de l'ouverture du fichier_medecin\n");
}
fclose(f);
}
                                                               /*AFFICHER*/
void afficher_medecin_cin(char fichier_medecin[],Medecin M,long int cin)
{
FILE*f;

f=fopen(fichier_medecin,"rb");
if(f!=NULL)
{
	fread(&M,sizeof(Medecin),1,f);
   do  
  {
        if(cin==M.cin)
        {
        printf("nom:%s\tprenom:%s\tsex:%s\trole:%s\tcin:%ld\tage:%d\tidentifiant:%d\n",M.nom,M.prenom,M.sex,M.role,M.cin,M.age,M.identifiant);
        }
  }
  while(((fread(&M,sizeof(Medecin),1,f))!=0)&&(feof(f)!=1));
}
else
{
printf("erreur lors de l'ouverture du fichier_medecin");
}
fclose(f);
}

                                                           /*AFFICHER FICHIER*/
void afficher_liste_medecin(char fichier_medecin[])
{
FILE*f;
Medecin M;
f=fopen(fichier_medecin,"rb");
if(f!=NULL)
{
   fread(&M,sizeof(Medecin),1,f);
   do
  {
   printf("nom:%s\tprenom:%s\tsex:%s\trole:%s\tcin:%ld\tage:%d\tidentifiant:%d\n",M.nom,M.prenom,M.sex,M.role,M.cin,M.age,M.identifiant);
  }
   while(((fread(&M,sizeof(Medecin),1,f))!=0)&&(feof(f)!=1));
}
else
{
printf("erreur lors de l'ouverture du fichier_medecin");
}
fclose(f);
}
                                                              /*RECHERCHER*/
int recherche_medecin_cin(char fichier_medecin[],Medecin M,long int cin)
{
FILE*f;
f=fopen(fichier_medecin,"rb");
if(f!=NULL)
{
	fread(&M,sizeof(Medecin),1,f);
   do  
  {
        if(cin==M.cin)
        {
        return 1;
        }
  }
  while(((fread(&M,sizeof(Medecin),1,f))!=0)&&(feof(f)!=1));
}
else
{
printf("erreur lors de l'ouverture du fichier_medecin");
}
fclose(f);
}

                                                              /*SUPPRIMER*/
void supprimer_medecin( char fichier_medecin[],long int cin)
{
    char tmp[]="tmp.txt";
    FILE *f ;
    FILE *t ;
    Medecin M;

    f=fopen(fichier_medecin,"rb") ;
    t=fopen(tmp,"wb") ;

    if (f!= NULL && t!=NULL)
     {
      while(fread(&M,sizeof(Medecin),1,f)!=0)
       {
          if( cin!=M.cin)
            {
             fwrite(&M,sizeof(Medecin),1,t) ;
            }
       }
     }

   printf("-----------------------\n");
   printf("le patient ayant le numero cin  %ld est retiré de la liste\n",cin );
   printf("-----------------------\n");

     fclose(f) ;
     fclose(t) ;

     f=fopen(fichier_medecin,"wb") ;
     t=fopen(tmp,"rb") ;

     while(fread (&M,sizeof(Medecin),1,t)!=0)
     {fwrite(&M,sizeof(Medecin),1,f) ;}

     fclose(f) ;
     fclose(t) ;

}


                                                              /*INISIALISER*/
void init_liste_medecin(char fichier_medecin[])
{
FILE*f;
f=fopen(fichier_medecin,"wb+");
if(f!=NULL)
{
  printf("la liste est initialiser\n");
}           
else
{
printf("erreur lors de l'ouverture du fichier_medecin\n");
}
fclose(f);
}


